Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

お問い合わせ一覧・個別ページを作成 #7387

Merged
merged 15 commits into from
Mar 25, 2024

Conversation

a-kuroki-gs
Copy link
Contributor

@a-kuroki-gs a-kuroki-gs commented Feb 15, 2024

Issue

概要

管理ページにお問い合わせ一覧ページ・詳細ページを追加。

変更確認方法

  1. feature/add-inquiry-index-pageをローカルに取り込む
  2. foreman start -f Procfile.devでアプリを起動する
  3. http://localhost:3000/inquiry/new を開いて、お問い合わせを作成・送信する
  4. 管理者でログインして、管理ページ( http://localhost:3000/admin )を開く
  5. 以下を確認する
  • お問い合わせのタブがあること
  • お問い合わせのタブをクリックすると、お問い合わせ一覧画面にお問い合わせが表示されていること
    • 「名前・メールアドレス・送信年月日・本文(100字程度)」が表示される
  • 任意のお問い合わせをクリックすると、お問い合わせ詳細画面に遷移すること
    • 「名前・メールアドレス・送信年月日・本文(全文)」が表示される
  • 任意のお問い合わせをクリックすると、お問い合わせ詳細画面に遷移すること
  • お問い合わせ詳細画面からお問い合わせ一覧へをクリックすると、お問い合わせ一覧画面に遷移すること

Screenshot

変更前

image

変更後

  • 一覧画面

image

  • 詳細画面

image

@a-kuroki-gs a-kuroki-gs self-assigned this Feb 16, 2024
@a-kuroki-gs a-kuroki-gs marked this pull request as ready for review February 16, 2024 08:15
@a-kuroki-gs a-kuroki-gs marked this pull request as draft February 16, 2024 08:19
@a-kuroki-gs
Copy link
Contributor Author

@machida
お疲れさまです🍵
こちらの実装が完了したので、デザインをお願いいたします!

@machida
Copy link
Member

machida commented Feb 28, 2024

@a-kuroki-gs お待たせしました🙇‍♂️ デザインの調整を入れましたー

.card-list-item__row
.a-meta
p
= inquiry.body.truncate(100)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@machida
デザイン入れていただき、ありがとうございます!

1点こちらのコードについて確認なのですが、
Issueでは、「一覧画面においてメール本文は200字程度表示する」仕様になっていたかと思います。
こちらデザインに合わせて仕様を修正した、という認識でよろしいでしょうか?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@a-kuroki-gs すいません、伝え忘れてました🙇‍♂️ ここは一旦100文字に変更でお願いします。思ったより200文字が多かった...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@machida
承知しました!ご連絡ありがとうございます🙏

@a-kuroki-gs
Copy link
Contributor Author

@junohm410

お疲れ様です!
こちらのPRのレビューをお願いしてもよろしいでしょうか?
お時間厳しければ遠慮なくおっしゃってください🙌

ご確認よろしくお願いいたします🙏

@junohm410
Copy link
Contributor

わかりました〜明日から時間をとって確認させていただきます!
土日くらいにお戻しできるようにします。

Copy link
Contributor

@junohm410 junohm410 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

お待たせしてしまい申し訳ないです🙇‍♂️
確認方法上の動作は問題なさそうでした👍
いくつかコメントさせていただきましたので、ご確認のほどよろしくお願いいたします🙇‍♂️

Comment on lines 7 to 8
= link_to admin_inquiry_path(inquiry), class: 'card-list-item-title__link a-text-link' do
| #{inquiry.name} 様 (#{inquiry.email})
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issue上のやりとりや、コミットメッセージを拝読すると、index上の個別のカード全体がクリックできるような実装にする流れだったようですが、実際はこのタイトル部分にあたる要素のみがリンクになっているように見えます。
赤枠で囲ったあたりがリンクになっている感じです。

image

こちらが意図なされた動きなのかが気になりました🙏

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 こちらミーティングで確認したところ、この動きで良いとのことでした。

.page-content-header__end
.page-content-header__row
h1.page-content-header__title
| #{@inquiry.name}(#{@inquiry.email})
Copy link
Contributor

@junohm410 junohm410 Mar 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

細かいのですが、indexの個別のカード方では#{inquiry.name} 様 (#{inquiry.email})になっているので、こちらもその表示に合わせてもいいのかなと思いました👀
(machidaさんが手を入れられたところだと思うので、確認の上での対応になるかもですが)

その上で、もしindexと共通の表示にする場合は、この部分はDecoratorでメソッドにして使い回すのが良いかなと思いました。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

個別と一覧での表示を合わせることにしました。
またご指摘いただいたように、
その上でDecoratorを新たに作成し、テストも追加しております👍


test 'show inquiry details' do
visit_with_auth '/admin/inquiries', 'komagata'
all('.card-list-item__inner')[0].click
Copy link
Contributor

@junohm410 junohm410 Mar 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

別でコメントした「タイトル部分のみがリンクになっていること」と絡むのですが、現状のテストの場合、ここで詳細ページへのリンクを踏めていないと思います。
(パスしているのは、結果的にindex上でもアサーションできているからだと思います。)

もしタイトル部分のみをリンクにするのであれば、テストの意義の観点から、ここでクリックする要素を変更して、正しく詳細ページに遷移するようにすべきかな思います👀

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

以下のように、クリックできる要素でテストするよう修正しました。

find('.card-list-item-title', text: 'inquiry1 様 ([email protected])').click

Comment on lines 1 to 11
inquiry1:
name: 'inquire1'
email: '[email protected]'
created_at: '2017-01-01 00:00:00'
body: 'お問い合わせのテスト1です。'

inquiry2:
name: 'inquire2'
email: '[email protected]'
created_at: '2017-01-01 00:00:00'
body: 'お問い合わせのテスト2です。'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

開発環境にも同じように初期データがあるといいかもと思いました👍

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

開発環境にもデータを追加し、inquireとなっていたスペルミスをinquiryに修正しました。

@a-kuroki-gs a-kuroki-gs force-pushed the feature/add-inquiry-index-page branch from 6c9942e to 0e32b0c Compare March 7, 2024 09:30
@a-kuroki-gs
Copy link
Contributor Author

@junohm410
レビューありがとうございます!
ご指摘いただいた点修正しておりますので、お手すきの際にご確認よろしくお願いいたします🙏

Copy link
Contributor

@junohm410 junohm410 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

お疲れ様です。修正点確認いたしました!大丈夫だと思います。
最後に一点だけ、前回のご指摘させていただいた点以外で気になったことがあったのでコメントいたしました。こちらは本来、初回のレビューで気づくべきでした🙇‍♂️申し訳ないです。
ご確認のほど、何卒よろしくお願いいたします🙏

Comment on lines 4 to 6
def index
@inquiries = Inquiry.all
end
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inquiry.allだと順番が保証されないので、Inquiry.order(created_at: :desc)にした方が良さそうだと思いましたがいかがでしょうか?
updated_atでソートしている他のリソースもありますが、お問い合わせは現状更新されることはなさそうなのでcreated_atでいいと考えました。)

こちら、本来は前回のレビューで気づくべきでした🙇‍♂️申し訳ないです。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@junohm410
ありがとうございます!
確かにおっしゃる通り、allではなく順序を指定して取得すべきでした。

updated_atでソートしている他のリソースもありますが、お問い合わせは現状更新されることはなさそうなのでcreated_atでいいと考えました。)

こちらに関しては私もcreated_atを基準にする方針で良いと思います。

気付けなかった点でしたので、ご指摘いただけて助かりました!ありがとうございます。
再度修正しておりますので確認よろしくお願いいたします👍

Copy link
Contributor

@junohm410 junohm410 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

お疲れ様です。ご対応ありがとうございました🙏
問題ないと思いましたので、私の方からはApproveとさせていただきます🙏

@a-kuroki-gs
Copy link
Contributor Author

@junohm410
丁寧にご確認いただき、ありがとうございました🙌
新たな気づきもあり大変勉強になりました!

@komagata
お疲れ様です!
メンバーにApproveをいただいたので、レビューをお願いいたします🙏

@machida machida removed their assignment Mar 15, 2024
@machida machida requested a review from komagata March 15, 2024 15:26
# frozen_string_literal: true

module InquiryDecorator
def sender_name_and_email
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍


class InquiryDecoratorTest < ActiveDecoratorTestCase
setup do
@inquiry = decorate(inquiries(:inquiry1))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

assert_text inquiries(:inquiry1).body
end

test 'click on the link of back to inquiries index' do
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

system testはとても重い時間のかかる処理なので、リンクのテストとかはしなくて大丈夫です~。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@komagata
リンクのテストを削除しております。
ご確認よろしくお願いいたします🙏

@a-kuroki-gs a-kuroki-gs force-pushed the feature/add-inquiry-index-page branch 2 times, most recently from 598cb59 to a25728e Compare March 19, 2024 04:35

class Admin::InquiriesController < AdminController
def index
@inquiries = Inquiry.order(created_at: :desc)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

orderをちゃんとしていしていて、created_atにしてるのがよいとおもいます~!

Comment on lines 16 to 17
span.a-meta__value
= l inquiry.created_at
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
span.a-meta__value
= l inquiry.created_at
span.a-meta__value = l inquiry.created_at

短い行は1行でいいかもです。

Copy link
Contributor Author

@a-kuroki-gs a-kuroki-gs Mar 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@komagata
こちらのコミットで短い2行を1行にまとめるよう修正しました。
ご確認よろしくお願いいたします🙇‍♀️

Comment on lines 20 to 21
p
= inquiry.body.truncate(100)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
p
= inquiry.body.truncate(100)
p = inquiry.body.truncate(100)

Comment on lines 6 to 7
h1.page-header__title
= title
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
h1.page-header__title
= title
h1.page-header__title = title

Comment on lines 14 to 15
h1.page-main-header__title
| お問い合わせ一覧
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
h1.page-main-header__title
| お問い合わせ一覧
h1.page-main-header__title お問い合わせ一覧

Comment on lines 26 to 29
span.a-meta__label
| 受信日
span.a-meta__value
= l @inquiry.created_at
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
span.a-meta__label
| 受信日
span.a-meta__value
= l @inquiry.created_at
span.a-meta__label 受信日
span.a-meta__value = l @inquiry.created_at

@a-kuroki-gs a-kuroki-gs force-pushed the feature/add-inquiry-index-page branch from 29da23b to 056f3c7 Compare March 25, 2024 02:16
Copy link
Member

@komagata komagata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

確認させていただきました。OKです~👌

@komagata komagata merged commit c4187b9 into main Mar 25, 2024
2 checks passed
@komagata komagata deleted the feature/add-inquiry-index-page branch March 25, 2024 08:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants